package org.example.Immutable;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 将每次需要格式转换的参数都放入 ThreadLocal 中进行
*/
public class DateFormatThreadLocal {
    //在ThreadLocal<DateFormat>中，使用withInitial方法新建一个你需要保证线程安全的对象的构造函数
    private static final ThreadLocal<DateFormat> df =
        ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyyMMdd"));

    //该对象的使用方法
    public static Date convert(String source) throws ParseException {
        return df.get().parse(source);
    }
}